สำรวจ Web Serial API ที่ช่วยให้เว็บแอปพลิเคชัน frontend สื่อสารโดยตรงกับอุปกรณ์ซีเรียล เช่น ไมโครคอนโทรลเลอร์ เซ็นเซอร์ และฮาร์ดแวร์รุ่นเก่า เพื่อเปิดโอกาสใหม่ๆ ในการควบคุมและติดตามผลผ่านเว็บ
Frontend Web Serial API: คู่มือฉบับสมบูรณ์สำหรับการสื่อสารกับอุปกรณ์ซีเรียลในเบราว์เซอร์
Web Serial API เปิดโอกาสใหม่ๆ ที่น่าตื่นเต้นสำหรับเว็บแอปพลิเคชัน ช่วยให้โค้ด frontend ของคุณที่ทำงานในเบราว์เซอร์สามารถสื่อสารโดยตรงกับอุปกรณ์ซีเรียลที่เชื่อมต่อกับคอมพิวเตอร์ของผู้ใช้ได้ ซึ่งก่อนหน้านี้เป็นขอบเขตของแอปพลิเคชันแบบเนทีฟ แต่ตอนนี้คุณสามารถโต้ตอบกับไมโครคอนโทรลเลอร์, เครื่องพิมพ์ 3 มิติ, เซ็นเซอร์ และฮาร์ดแวร์รุ่นเก่าได้โดยตรงจากเว็บเบราว์เซอร์ของคุณ ลองจินตนาการถึงการควบคุม Arduino จากแดชบอร์ดบนเว็บ, การติดตามข้อมูลเซ็นเซอร์แบบเรียลไทม์ หรือการโต้ตอบกับเครื่องพิมพ์ซีเรียลรุ่นเก่าผ่านอินเทอร์เฟซเว็บที่ทันสมัย คู่มือนี้จะเจาะลึกเกี่ยวกับ Web Serial API, สำรวจคุณสมบัติต่างๆ และให้ตัวอย่างที่ใช้งานได้จริงเพื่อช่วยให้คุณเริ่มต้น
Web Serial API คืออะไร?
Web Serial API เป็นมาตรฐานเว็บที่ให้ช่องทางสำหรับเว็บแอปพลิเคชันในการสื่อสารกับอุปกรณ์ซีเรียล การสื่อสารแบบอนุกรม (Serial communication) เป็นวิธีการที่ใช้กันอย่างแพร่หลายในการแลกเปลี่ยนข้อมูลระหว่างอุปกรณ์โดยใช้พอร์ตอนุกรม ซึ่งเป็นเรื่องปกติโดยเฉพาะกับระบบสมองกลฝังตัว, อุปกรณ์อุตสาหกรรม และฮาร์ดแวร์รุ่นเก่า API นี้ช่วยเชื่อมช่องว่างระหว่างเว็บกับโลกทางกายภาพ ทำให้เว็บแอปพลิเคชันสามารถโต้ตอบกับอุปกรณ์เหล่านี้ได้โดยไม่จำเป็นต้องใช้ส่วนขยายเบราว์เซอร์หรือแอปพลิเคชันแบบเนทีฟ
ประโยชน์ที่สำคัญ:
- การโต้ตอบกับอุปกรณ์โดยตรง: ไม่จำเป็นต้องใช้แอปพลิเคชันหรือไดรเวอร์ตัวกลางสำหรับการสื่อสารแบบอนุกรมพื้นฐาน
- ความเข้ากันได้ข้ามแพลตฟอร์ม: เว็บแอปพลิเคชันที่ใช้ Web Serial API สามารถทำงานได้บนระบบปฏิบัติการใดๆ ที่มีเบราว์เซอร์ที่เข้ากันได้
- ความปลอดภัยที่เพิ่มขึ้น: API ถูกออกแบบโดยคำนึงถึงความปลอดภัย โดยต้องได้รับอนุญาตจากผู้ใช้อย่างชัดเจนในการเข้าถึงพอร์ตอนุกรม
- การพัฒนาที่ง่ายขึ้น: มีอินเทอร์เฟซที่เป็นมาตรฐานสำหรับการสื่อสารแบบอนุกรม ทำให้กระบวนการพัฒนาง่ายขึ้น
การรองรับของเบราว์เซอร์
ข้อมูล ณ ปลายปี 2024 Web Serial API รองรับโดยเบราว์เซอร์ที่ใช้ Chromium เป็นพื้นฐาน เช่น Google Chrome, Microsoft Edge และ Opera การรองรับในเบราว์เซอร์อื่นๆ เช่น Firefox และ Safari อยู่ในระหว่างการพิจารณาและพัฒนา ขอแนะนำให้ตรวจสอบเว็บไซต์ Can I use สำหรับข้อมูลความเข้ากันได้ของเบราว์เซอร์ล่าสุด
ข้อควรพิจารณาด้านความปลอดภัย
Web Serial API ให้ความสำคัญกับความปลอดภัยและความเป็นส่วนตัวของผู้ใช้ นี่คือมาตรการความปลอดภัยที่สำคัญบางประการ:
- การอนุญาตจากผู้ใช้: เบราว์เซอร์จะแจ้งให้ผู้ใช้ให้สิทธิ์อนุญาตก่อนที่จะอนุญาตให้เว็บแอปพลิเคชันเข้าถึงพอร์ตอนุกรม ผู้ใช้มีตัวเลือกที่จะให้หรือปฏิเสธการเข้าถึง
- เฉพาะใน Secure Contexts: API นี้ใช้งานได้เฉพาะใน Secure Contexts (HTTPS) เท่านั้น ซึ่งช่วยป้องกันการโจมตีแบบ man-in-the-middle และรับประกันความสมบูรณ์ของข้อมูล
- การเข้าถึงที่จำกัด: API ให้การเข้าถึงพอร์ตอนุกรมแบบควบคุม ซึ่งจำกัดโอกาสในการเกิดกิจกรรมที่เป็นอันตราย
เริ่มต้นใช้งาน: ตัวอย่างการใช้งานจริงกับ Arduino
เรามาดูตัวอย่างง่ายๆ ของการใช้ Web Serial API เพื่อสื่อสารกับบอร์ด Arduino ตัวอย่างนี้จะสาธิตวิธีการส่งข้อมูลจากเว็บเบราว์เซอร์ไปยัง Arduino และรับข้อมูลกลับมา
สิ่งที่ต้องมี:
- บอร์ด Arduino (เช่น Arduino Uno, Nano หรือ Mega)
- Arduino IDE ติดตั้งบนคอมพิวเตอร์ของคุณ
- สาย USB เพื่อเชื่อมต่อ Arduino กับคอมพิวเตอร์ของคุณ
- เบราว์เซอร์ที่รองรับ Web Serial API (Chrome, Edge, Opera)
ขั้นตอนที่ 1: โค้ด Arduino
ขั้นแรก อัปโหลดโค้ดต่อไปนี้ไปยังบอร์ด Arduino ของคุณโดยใช้ Arduino IDE:
void setup() {
Serial.begin(9600);
}
void loop() {
if (Serial.available() > 0) {
String data = Serial.readStringUntil('\n');
data.trim();
Serial.print("Received: ");
Serial.println(data);
delay(100);
}
}
โค้ดนี้จะเริ่มต้นการสื่อสารแบบอนุกรมที่ baud rate 9600 ในฟังก์ชัน `loop()` จะตรวจสอบว่ามีข้อมูลใดๆ อยู่บนพอร์ตอนุกรมหรือไม่ หากมีข้อมูล จะอ่านข้อมูลจนกว่าจะพบอักขระขึ้นบรรทัดใหม่, ตัดช่องว่างนำหน้าและต่อท้ายออก จากนั้นส่งข้อมูลที่ได้รับกลับไปยังพอร์ตอนุกรมพร้อมกับคำนำหน้า "Received: "
ขั้นตอนที่ 2: โครงสร้าง HTML
สร้างไฟล์ HTML (เช่น `index.html`) ด้วยโครงสร้างต่อไปนี้:
Web Serial API Example
Web Serial API Example
ไฟล์ HTML นี้ประกอบด้วยปุ่มสำหรับเชื่อมต่อกับพอร์ตอนุกรม, textarea สำหรับแสดงข้อมูลที่ได้รับ, ช่องป้อนข้อมูลสำหรับป้อนข้อมูลที่จะส่ง และปุ่มสำหรับส่งข้อมูล นอกจากนี้ยังลิงก์ไปยังไฟล์ JavaScript (`script.js`) ที่จะบรรจุโค้ด Web Serial API
ขั้นตอนที่ 3: โค้ด JavaScript (script.js)
สร้างไฟล์ JavaScript ชื่อ `script.js` ด้วยโค้ดต่อไปนี้:
const connectButton = document.getElementById('connectButton');
const receivedDataTextarea = document.getElementById('receivedData');
const dataToSendInput = document.getElementById('dataToSend');
const sendButton = document.getElementById('sendButton');
let port;
let reader;
let writer;
connectButton.addEventListener('click', async () => {
try {
port = await navigator.serial.requestPort();
await port.open({ baudRate: 9600 });
connectButton.disabled = true;
sendButton.disabled = false;
reader = port.readable.getReader();
writer = port.writable.getWriter();
// Listen to data coming from the serial device.
while (true) {
const { value, done } = await reader.read();
if (done) {
// Allow the serial port to be closed later.
reader.releaseLock();
break;
}
// value is a Uint8Array.
receivedDataTextarea.value += new TextDecoder().decode(value);
}
} catch (error) {
console.error('Serial port error:', error);
}
});
sendButton.addEventListener('click', async () => {
const data = dataToSendInput.value + '\n';
const encoder = new TextEncoder();
await writer.write(encoder.encode(data));
dataToSendInput.value = '';
});
โค้ด JavaScript นี้จัดการการเชื่อมต่อกับพอร์ตอนุกรม, การรับข้อมูล และการส่งข้อมูล เรามาดูรายละเอียดของโค้ดกัน:
- รับ Elements: เป็นการอ้างอิงถึง HTML elements โดยใช้ ID ของมัน
- Event การคลิก `connectButton`: เมื่อคลิกปุ่ม "Connect to Serial Port" จะเกิดสิ่งต่อไปนี้:
- เรียก `navigator.serial.requestPort()` เพื่อแจ้งให้ผู้ใช้เลือกพอร์ตอนุกรม
- เปิดพอร์ตที่เลือกด้วย baud rate 9600
- ปิดการใช้งานปุ่ม connect และเปิดใช้งานปุ่ม send
- รับ reader และ writer สำหรับ stream ที่อ่านได้และเขียนได้ของพอร์ต
- เข้าสู่ลูปเพื่ออ่านข้อมูลจากพอร์ตอนุกรมอย่างต่อเนื่อง
- ถอดรหัสข้อมูลที่ได้รับ (ซึ่งเป็น `Uint8Array`) โดยใช้ `TextDecoder` และผนวกเข้ากับ `receivedDataTextarea`
- Event การคลิก `sendButton`: เมื่อคลิกปุ่ม "Send Data" จะเกิดสิ่งต่อไปนี้:
- รับข้อมูลจากช่องป้อนข้อมูล `dataToSendInput`
- ผนวกอักขระขึ้นบรรทัดใหม่ (`\n`) เข้ากับข้อมูล ซึ่งสำคัญเพราะโค้ด Arduino อ่านข้อมูลจนกว่าจะได้รับอักขระขึ้นบรรทัดใหม่
- เข้ารหัสข้อมูลโดยใช้ `TextEncoder` เพื่อแปลงเป็น `Uint8Array`
- เขียนข้อมูลที่เข้ารหัสไปยังพอร์ตอนุกรมโดยใช้ `writer.write()`
- ล้างค่าในช่องป้อนข้อมูล `dataToSendInput`
ขั้นตอนที่ 4: รันตัวอย่าง
เปิดไฟล์ `index.html` ในเบราว์เซอร์ของคุณ คุณควรจะเห็น HTML elements ที่กำหนดไว้ในไฟล์
- คลิกปุ่ม "Connect to Serial Port" เบราว์เซอร์ของคุณจะแจ้งให้คุณเลือกพอร์ตอนุกรม เลือกพอร์ตที่เชื่อมต่อกับบอร์ด Arduino ของคุณ
- เมื่อเชื่อมต่อแล้ว ปุ่ม "Connect to Serial Port" จะถูกปิดการใช้งาน และปุ่ม "Send Data" จะถูกเปิดใช้งาน
- ป้อนข้อความบางอย่างในช่องป้อนข้อมูลแล้วคลิกปุ่ม "Send Data"
- คุณควรจะเห็นข้อความ "Received: [your text]" ปรากฏใน textarea ซึ่งบ่งชี้ว่าข้อมูลถูกส่งจากเบราว์เซอร์ไปยัง Arduino และส่งกลับจาก Arduino มายังเบราว์เซอร์ได้สำเร็จ
การใช้งานขั้นสูงและข้อควรพิจารณา
Baud Rate
Baud rate คืออัตราการส่งข้อมูลผ่านพอร์ตอนุกรม สิ่งสำคัญคือ baud rate ที่กำหนดค่าในเว็บแอปพลิเคชันของคุณต้องตรงกับ baud rate ที่กำหนดค่าในอุปกรณ์ซีเรียลของคุณ (เช่น โค้ด Arduino) baud rate ที่ใช้กันทั่วไป ได้แก่ 9600, 115200 และอื่นๆ การที่ baud rate ไม่ตรงกันจะทำให้ข้อมูลที่ได้อ่านไม่ออกหรือผิดเพี้ยน
การเข้ารหัสข้อมูล (Data Encoding)
ข้อมูลที่ส่งผ่านพอร์ตอนุกรมโดยทั่วไปจะแสดงเป็นลำดับของไบต์ Web Serial API ใช้ `Uint8Array` เพื่อแทนไบต์เหล่านี้ คุณอาจต้องเข้ารหัสและถอดรหัสข้อมูลโดยใช้รูปแบบการเข้ารหัสที่เหมาะสม (เช่น UTF-8, ASCII) ขึ้นอยู่กับประเภทของข้อมูลที่คุณกำลังส่ง
การจัดการข้อผิดพลาด (Error Handling)
สิ่งสำคัญคือการจัดการข้อผิดพลาดที่เหมาะสมในเว็บแอปพลิเคชันของคุณเพื่อจัดการกับปัญหาที่อาจเกิดขึ้น เช่น ข้อผิดพลาดในการเชื่อมต่อ, ข้อผิดพลาดในการส่งข้อมูล และการตัดการเชื่อมต่ออุปกรณ์ ใช้บล็อก `try...catch` เพื่อดักจับ exception และให้ข้อความแสดงข้อผิดพลาดที่เป็นประโยชน์แก่ผู้ใช้
การควบคุมการไหลของข้อมูล (Flow Control)
กลไกการควบคุมการไหลของข้อมูล (เช่น hardware flow control, software flow control) สามารถใช้เพื่อป้องกันการสูญหายของข้อมูลเมื่อผู้ส่งกำลังส่งข้อมูลเร็วกว่าที่ผู้รับจะประมวลผลได้ทัน Web Serial API รองรับ hardware flow control (CTS/RTS) ตรวจสอบข้อกำหนดเฉพาะของอุปกรณ์ซีเรียลของคุณเพื่อพิจารณาว่าจำเป็นต้องมีการควบคุมการไหลของข้อมูลหรือไม่
การปิดพอร์ต
สิ่งสำคัญคือต้องปิดพอร์ตอนุกรมอย่างถูกต้องเมื่อคุณใช้งานเสร็จแล้ว การทำเช่นนี้จะปล่อยพอร์ตและอนุญาตให้แอปพลิเคชันหรืออุปกรณ์อื่นใช้งานได้ คุณสามารถปิดพอร์ตได้โดยใช้วิธี `port.close()`
if (port) {
await reader.cancel();
await reader.releaseLock();
await writer.close();
await port.close();
}
Web Serial API และ Bluetooth
แม้ว่า Web Serial API เองจะไม่จัดการการเชื่อมต่อ Bluetooth โดยตรง แต่ก็สามารถใช้ร่วมกับอะแดปเตอร์ Bluetooth serial ได้ อะแดปเตอร์เหล่านี้ทำหน้าที่เป็นสะพานเชื่อม แปลงการสื่อสาร Bluetooth เป็นการสื่อสารแบบอนุกรม ซึ่ง Web Serial API สามารถจัดการได้ ซึ่งเป็นการเปิดโอกาสในการโต้ตอบกับอุปกรณ์ที่ใช้ Bluetooth จากเว็บเบราว์เซอร์ของคุณ
การประยุกต์ใช้งานในโลกแห่งความเป็นจริง
Web Serial API มีศักยภาพในการใช้งานที่หลากหลายในอุตสาหกรรมและโดเมนต่างๆ:
- ระบบอัตโนมัติในอุตสาหกรรม: ควบคุมและติดตามอุปกรณ์และเครื่องจักรในอุตสาหกรรมจากอินเทอร์เฟซบนเว็บ ตัวอย่างเช่น พนักงานโรงงานในเยอรมนีสามารถใช้เว็บแอปพลิเคชันเพื่อตรวจสอบอุณหภูมิและความดันของเครื่องจักรแบบเรียลไทม์
- วิทยาการหุ่นยนต์: โต้ตอบกับหุ่นยนต์และระบบหุ่นยนต์ ทำให้สามารถควบคุมระยะไกลและเก็บข้อมูลได้ ลองจินตนาการถึงการควบคุมแขนหุ่นยนต์ในญี่ปุ่นจากแผงควบคุมในแคนาดา
- การพิมพ์ 3 มิติ: ควบคุมและติดตามเครื่องพิมพ์ 3 มิติ ทำให้ผู้ใช้สามารถอัปโหลดการออกแบบ, ติดตามความคืบหน้าในการพิมพ์ และปรับการตั้งค่าจากเว็บเบราว์เซอร์ได้ ผู้ใช้ในอิตาลีสามารถเริ่มงานพิมพ์บนเครื่องพิมพ์ 3 มิติที่บ้านได้จากที่ทำงานของเขา
- อุปกรณ์ IoT: เชื่อมต่อและโต้ตอบกับอุปกรณ์ IoT เช่น เซ็นเซอร์, แอคทูเอเตอร์ และระบบบ้านอัตโนมัติ ตัวอย่างเช่น เกษตรกรในบราซิลสามารถตรวจสอบระดับความชื้นในดินและควบคุมระบบชลประทานจากระยะไกลโดยใช้เว็บแอปพลิเคชัน
- เครื่องมือเพื่อการศึกษา: สร้างเครื่องมือการศึกษาและการทดลองแบบโต้ตอบที่เกี่ยวข้องกับฮาร์ดแวร์ทางกายภาพ ทำให้การเรียนรู้มีส่วนร่วมและลงมือปฏิบัติมากขึ้น นักเรียนในชั้นเรียนฟิสิกส์สามารถใช้ API เพื่อรวบรวมข้อมูลจากเซ็นเซอร์ที่เชื่อมต่อกับลูกตุ้ม
- การเข้าถึง: จัดหาอินเทอร์เฟซทางเลือกสำหรับอุปกรณ์ที่อาจใช้งานโดยตรงได้ยากสำหรับผู้ใช้ที่มีความพิการ ผู้ที่มีข้อจำกัดในการเคลื่อนไหวสามารถควบคุมอุปกรณ์สมาร์ทโฮมผ่านอินเทอร์เฟซบนเว็บโดยใช้ระบบติดตามการเคลื่อนไหวของศีรษะ
ทางเลือกอื่นนอกเหนือจาก Web Serial API
แม้ว่า Web Serial API จะเป็นวิธีที่สะดวกในการสื่อสารกับอุปกรณ์ซีเรียลโดยตรงจากเบราว์เซอร์ แต่ก็มีแนวทางทางเลือกที่อาจเหมาะสมขึ้นอยู่กับความต้องการเฉพาะของคุณ:
- WebUSB API: WebUSB API ช่วยให้เว็บแอปพลิเคชันสามารถสื่อสารกับอุปกรณ์ USB ได้ แม้ว่าจะมีความยืดหยุ่นและการควบคุมที่มากกว่าเมื่อเทียบกับ Web Serial API แต่ก็ต้องมีการนำไปใช้ที่ซับซ้อนกว่าและอาจไม่เหมาะสำหรับงานสื่อสารแบบอนุกรมอย่างง่าย
- แอปพลิเคชันแบบเนทีฟพร้อมไลบรารีซีเรียล: แอปพลิเคชันเดสก์ท็อปแบบดั้งเดิมสามารถใช้ไลบรารีการสื่อสารแบบอนุกรม (เช่น libserialport, pySerial) เพื่อโต้ตอบกับอุปกรณ์ซีเรียล แนวทางนี้ให้การควบคุมและความยืดหยุ่นสูงสุด แต่ต้องการให้ผู้ใช้ติดตั้งแอปพลิเคชันแบบเนทีฟบนคอมพิวเตอร์ของตน
- ส่วนขยายเบราว์เซอร์: ส่วนขยายเบราว์เซอร์สามารถให้การเข้าถึงพอร์ตอนุกรมและทรัพยากรฮาร์ดแวร์อื่นๆ ได้ อย่างไรก็ตาม ส่วนขยายต้องการให้ผู้ใช้ติดตั้งแยกต่างหาก และอาจทำให้เกิดความกังวลด้านความปลอดภัย
- Node.js กับ Serialport: การใช้ Node.js ที่ฝั่ง backend เป็นโซลูชันที่แข็งแกร่งมากสำหรับการจัดการอุปกรณ์และสร้าง API ที่ปลอดภัยสำหรับ frontend ของคุณ ซึ่งให้การควบคุมและความปลอดภัยที่มากกว่าการเข้าถึงโดยตรงจากเบราว์เซอร์ในหลายกรณีการใช้งาน
การแก้ไขปัญหาที่พบบ่อย
นี่คือปัญหาทั่วไปบางประการที่คุณอาจพบเมื่อทำงานกับ Web Serial API และวิธีแก้ไข:
- ไม่สามารถเชื่อมต่อกับพอร์ตอนุกรมได้:
- ตรวจสอบให้แน่ใจว่าพอร์ตอนุกรมไม่ได้ถูกเปิดโดยแอปพลิเคชันอื่นอยู่แล้ว
- ยืนยันว่าได้เลือกพอร์ตอนุกรมที่ถูกต้องในหน้าต่างแจ้งเตือนของเบราว์เซอร์
- ตรวจสอบว่า baud rate ที่กำหนดค่าในเว็บแอปพลิเคชันของคุณตรงกับ baud rate ของอุปกรณ์ซีเรียล
- ตรวจสอบให้แน่ใจว่าผู้ใช้ได้ให้สิทธิ์อนุญาตให้เว็บแอปพลิเคชันเข้าถึงพอร์ตอนุกรมแล้ว
- ข้อมูลผิดเพี้ยนหรืออ่านไม่ออก:
- ยืนยันว่า baud rate ตรงกันอย่างถูกต้อง
- ตรวจสอบรูปแบบการเข้ารหัสข้อมูล (เช่น UTF-8, ASCII)
- ตรวจสอบให้แน่ใจว่าข้อมูลถูกส่งและรับอย่างถูกต้องโดยอุปกรณ์ซีเรียล
- ข้อมูลสูญหาย:
- พิจารณาใช้กลไกการควบคุมการไหลของข้อมูลเพื่อป้องกันข้อมูลสูญหาย
- เพิ่มขนาดบัฟเฟอร์สำหรับการรับข้อมูล
- ปรับปรุงตรรกะการประมวลผลข้อมูลเพื่อหลีกเลี่ยงความล่าช้า
- ปัญหาความเข้ากันได้ของเบราว์เซอร์:
- ตรวจสอบความเข้ากันได้ของเบราว์เซอร์กับ Web Serial API โดยใช้ Can I use
- ใช้ feature detection เพื่อให้แน่ใจว่า API ได้รับการสนับสนุนจากเบราว์เซอร์ก่อนที่จะใช้งาน
อนาคตของ Web Serial API
Web Serial API แสดงถึงก้าวสำคัญในการเชื่อมช่องว่างระหว่างเว็บและโลกทางกายภาพ ในขณะที่การรองรับของเบราว์เซอร์ยังคงเติบโตและ API มีการพัฒนาอย่างต่อเนื่อง เราคาดว่าจะได้เห็นแอปพลิเคชันที่เป็นนวัตกรรมใหม่ๆ เกิดขึ้น ซึ่งใช้ประโยชน์จากพลังของการสื่อสารแบบอนุกรมภายในเว็บแอปพลิเคชัน เทคโนโลยีนี้กำลังเปิดประตูสู่ความเป็นไปได้ใหม่ๆ ใน IoT, ระบบอัตโนมัติในอุตสาหกรรม, วิทยาการหุ่นยนต์, การศึกษา และสาขาอื่นๆ อีกมากมาย
สรุป
Web Serial API ช่วยให้นักพัฒนาเว็บสามารถสร้างแอปพลิเคชันที่โต้ตอบโดยตรงกับอุปกรณ์ซีเรียล ซึ่งปลดล็อกความเป็นไปได้มากมายสำหรับการควบคุม, การติดตาม และการเก็บข้อมูลบนเว็บ คู่มือนี้ได้ให้ภาพรวมที่ครอบคลุมของ API รวมถึงคุณสมบัติ, ข้อควรพิจารณาด้านความปลอดภัย, ตัวอย่างที่ใช้งานได้จริง และเคล็ดลับในการแก้ไขปัญหา ด้วยความเข้าใจและการใช้ Web Serial API คุณสามารถสร้างเว็บแอปพลิเคชันที่เป็นนวัตกรรมและน่าสนใจที่ผสานรวมกับโลกทางกายภาพได้อย่างราบรื่น